using System;
using System.ComponentModel;
using System.Data;
using System.Runtime.Serialization;

namespace MinCultura.Sipa.DataAccess.AgentesArtes
{
    /// <summary>
    /// A custom serializable dataset containing 
    /// </summary>
    [Serializable()]
    [DesignerCategory("code")]


    /// <summary>Class for handling datasets</summary>  
    public class CcrRequisitosAgenteData : DataTable
    {
        ///
        /// Constants for table and fields mapping
        ///
        public const string CCR_REQUISITOS_AGENTE_TABLE = "CCR_REQUISITOS_AGENTE";

        public const string AGE_ID_FIELD = "AGE_ID";
        public const string REQ_TRAYECTORIA_ARTISTICA_ANNOS_FIELD = "REQ_TRAYECTORIA_ARTISTICA_ANNOS";
        public const string REQ_TRAYECTORIA_ARTISTICA_OBSERVACIONES_FIELD = "REQ_TRAYECTORIA_ARTISTICA_OBSERVACIONES";
        public const string REQ_TRAYECTORIA_ARTISTICA_ANEXO_FIELD = "REQ_TRAYECTORIA_ARTISTICA_ANEXO";
        public const string REQ_EXPERIENCIA_FORMADOR_ANNOS_FIELD = "REQ_EXPERIENCIA_FORMADOR_ANNOS";
        public const string REQ_EXPERIENCIA_FORMADOR_OBSERVACIONES_FIELD = "REQ_EXPERIENCIA_FORMADOR_OBSERVACIONES";
        public const string REQ_EXPERIENCIA_FORMADOR_ANEXO_FIELD = "REQ_EXPERIENCIA_FORMADOR_ANEXO";
        public const string REQ_PROCEDENCIA_SINO_FIELD = "REQ_PROCEDENCIA_SINO";
        public const string REQ_PROCEDENCIA_OBSERVACIONES_FIELD = "REQ_PROCEDENCIA_OBSERVACIONES";
        public const string REQ_PROCEDENCIA_ANEXO_FIELD = "REQ_PROCEDENCIA_ANEXO";
        public const string REQ_PARTICIPACION_PROGRAMAS_ANNOS_FIELD = "REQ_PARTICIPACION_PROGRAMAS_ANNOS";
        public const string REQ_PARTICIPACION_PROGRAMAS_OBSERVACIONES_FIELD = "REQ_PARTICIPACION_PROGRAMAS_OBSERVACIONES";
        public const string REQ_PARTICIPACION_PROGRAMAS_ANEXO_FIELD = "REQ_PARTICIPACION_PROGRAMAS_ANEXO";
        public const string REQ_ESTRATO_FIELD = "REQ_ESTRATO";
        public const string REQ_ESTRATO_OBSERVACIONES_FIELD = "REQ_ESTRATO_OBSERVACIONES";
        public const string REQ_ESTRATO_ANEXO_FIELD = "REQ_ESTRATO_ANEXO";
        public const string ID_PROYECTO_FORMACION_MUSICAL_FIELD = "ID_PROYECTO_FORMACION_MUSICAL";
        public const string REQ_PROYECTO_FORMACION_MUSICAL_OBSERVACIONES_FIELD = "REQ_PROYECTO_FORMACION_MUSICAL_OBSERVACIONES";
        public const string REQ_PROYECTO_FORMACION_MUSICAL_ANEXO_FIELD = "REQ_PROYECTO_FORMACION_MUSICAL_ANEXO";
        public const string ID_NBI_MUNICIPIO_FIELD = "ID_NBI_MUNICIPIO";
        public const string ID_COSTOS_TRASLADO_FIELD = "ID_COSTOS_TRASLADO";
        public const string REQ_COSTOS_TRASLADO_OBSERVACIONES_FIELD = "REQ_COSTOS_TRASLADO_OBSERVACIONES";
        public const string REQ_COSTOS_TRASLADO_ANEXO_FIELD = "REQ_COSTOS_TRASLADO_ANEXO";
        public const string ID_PRIORIZACION_TERRITORIAL_FIELD = "ID_PRIORIZACION_TERRITORIAL";
        public const string REQ_PRIORIZACION_TERRITORIAL_OBSERVACIONES_FIELD = "REQ_PRIORIZACION_TERRITORIAL_OBSERVACIONES";
        public const string REQ_PRIORIZACION_TERRITORIAL_ANEXO_FIELD = "REQ_PRIORIZACION_TERRITORIAL_ANEXO";
        public const string PRG_ID_FIELD = "PRG_ID";
        public const string REQ_APLICA_COFINANCIACION_FIELD = "REQ_APLICA_COFINANCIACION";

        public const string REQ_EXPERIENCIA_1_FIELD = "REQ_EXPERIENCIA_1";
        public const string REQ_EXPERIENCIA_1_CREADOR_O_FORMADOR_FIELD = "REQ_EXPERIENCIA_1_CREADOR_O_FORMADOR";


        protected CcrRequisitosAgenteData(SerializationInfo info, StreamingContext context)
        {
            //
        }

        public CcrRequisitosAgenteData()
        {
            BuildDataTables();
        }

        /// <summary>
        /// Creates the following datatables: Localidades
        /// </summary>
        private void BuildDataTables()
        {

            Columns.Add(AGE_ID_FIELD, typeof(Decimal));
            Columns.Add(REQ_TRAYECTORIA_ARTISTICA_ANNOS_FIELD, typeof(String));
            Columns.Add(REQ_TRAYECTORIA_ARTISTICA_OBSERVACIONES_FIELD, typeof(String));
            Columns.Add(REQ_TRAYECTORIA_ARTISTICA_ANEXO_FIELD, typeof(String));
            Columns.Add(REQ_EXPERIENCIA_FORMADOR_ANNOS_FIELD, typeof(String));
            Columns.Add(REQ_EXPERIENCIA_FORMADOR_OBSERVACIONES_FIELD, typeof(String));
            Columns.Add(REQ_EXPERIENCIA_FORMADOR_ANEXO_FIELD, typeof(String));
            Columns.Add(REQ_PROCEDENCIA_SINO_FIELD, typeof(String));
            Columns.Add(REQ_PROCEDENCIA_OBSERVACIONES_FIELD, typeof(String));
            Columns.Add(REQ_PROCEDENCIA_ANEXO_FIELD, typeof(String));
            Columns.Add(REQ_PARTICIPACION_PROGRAMAS_ANNOS_FIELD, typeof(String));
            Columns.Add(REQ_PARTICIPACION_PROGRAMAS_OBSERVACIONES_FIELD, typeof(String));
            Columns.Add(REQ_PARTICIPACION_PROGRAMAS_ANEXO_FIELD, typeof(String));
            Columns.Add(REQ_ESTRATO_FIELD, typeof(String));
            Columns.Add(REQ_ESTRATO_OBSERVACIONES_FIELD, typeof(String));
            Columns.Add(REQ_ESTRATO_ANEXO_FIELD, typeof(String));
            Columns.Add(ID_PROYECTO_FORMACION_MUSICAL_FIELD, typeof(Decimal));
            Columns.Add(REQ_PROYECTO_FORMACION_MUSICAL_OBSERVACIONES_FIELD, typeof(String));
            Columns.Add(REQ_PROYECTO_FORMACION_MUSICAL_ANEXO_FIELD, typeof(String));
            Columns.Add(ID_NBI_MUNICIPIO_FIELD, typeof(String));
            Columns.Add(ID_COSTOS_TRASLADO_FIELD, typeof(String));
            Columns.Add(REQ_COSTOS_TRASLADO_OBSERVACIONES_FIELD, typeof(String));
            Columns.Add(REQ_COSTOS_TRASLADO_ANEXO_FIELD, typeof(String));
            Columns.Add(ID_PRIORIZACION_TERRITORIAL_FIELD, typeof(String));
            Columns.Add(REQ_PRIORIZACION_TERRITORIAL_OBSERVACIONES_FIELD, typeof(String));
            Columns.Add(REQ_PRIORIZACION_TERRITORIAL_ANEXO_FIELD, typeof(String));
            Columns.Add(PRG_ID_FIELD, typeof(String));
            Columns.Add(REQ_APLICA_COFINANCIACION_FIELD, typeof(String));
            Columns.Add(REQ_EXPERIENCIA_1_FIELD, typeof (string));
            Columns.Add(REQ_EXPERIENCIA_1_CREADOR_O_FORMADOR_FIELD, typeof(string));
            



            TableName = CCR_REQUISITOS_AGENTE_TABLE;
        }

        /// <summary>
        /// Add a new row to the table
        /// </summary>
        /// <param name="row">Dataset row
        public void addAgentesSocioeconomica(DataRow row)
        {
            Rows.Add(row);
        }

    }

}